﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Servidor.Dominio;
using Servidor.Xml;

namespace Servidor.Logica
{
    public static class metodosServidor
    {
        /*--------------Metodos Servidor---------------*/

        public static void cambiarClave(String peticion)
        {
            String nroTarjeta = peticion.Substring(10, 10);
            String clave = peticion.Substring(0, 10);

            Tarjeta tarjeta = Datos.buscarTarjeta(nroTarjeta);
            tarjeta.Clave = metodosServidor.quitarAsteriscos(peticion);

            Datos.reemplazar(tarjeta);
        }

        public static String informacionCuentas(String peticion)
        {
            String infoCuentas = "";
            Tarjeta tarjeta = Datos.buscarTarjeta(peticion);
            List<Cuenta> cuentas = tarjeta.Cuentas;

            foreach (Cuenta c in cuentas)
            {
                infoCuentas = infoCuentas + c.Numero + c.Tipo + c.Saldo + ":";
            }
            return infoCuentas;
        }

        /*----------------Manejo de Datos----------------*/

        public static String quitarAsteriscos(String cadena)
        {
            int asterisco = cadena.IndexOf("*");
            if (asterisco >= 0)
                cadena = cadena.Substring(0, asterisco);
            return cadena;
        }

        /*----------------Validaciones----------------*/

        public static Boolean validarTarjeta(String peticion)
        {
            String nroTarjeta = peticion.Substring(10, 10);
            String clave = quitarAsteriscos(peticion.Substring(0, 10));

            Tarjeta tarjeta = Datos.buscarTarjeta(nroTarjeta);
            if (tarjeta != null)
            {
                if (tarjeta.Clave.Equals(clave))
                    return true;
            }
            return false;
        }

    }
}
